local 成就系统 = class()
local tp,zts1,zts2
local insert = table.insert
local qwp = 引擎.取物品
function 成就系统:初始化(根)
	self.ID = 175
	self.x = 全局游戏宽度/2-280
	self.y = 94--全局游戏高度/2-160
	self.xx = 0
	self.yy = 0
	self.注释 = "成就系统"
	self.可视 = false
	self.鼠标 = false
	self.焦点 = false
	self.可移动 = true
	tp = 根
	self.窗口时间 = 0
	zts1 = tp.字体表.普通字体
	zts2 = tp.字体表.普通字体
	self.成就按钮={}
	self.状态="升级比赛"

end
function 成就系统:加载按钮()
	local 资源 = tp.资源
	local 按钮 = tp._按钮
	local 自适应 = tp._自适应
	-- local n=0
	self.lijkg={}
	self.物品={}
	self.签到按钮={}
	for k,v in pairs(self.chengjiu) do
		self.成就按钮[k]=按钮.创建(自适应.创建(12,4,98,23,1,3),0,0,4,true,true,k)
		self.成就按钮[k]:绑定窗口_(self.ID)
		self.成就按钮[k]:置偏移(13,0)
		self.lijkg[k]={}
		for a,b in pairs(v) do
			self.lijkg[k][b.排序]=b
			self.lijkg[k][b.排序].名称=a
			if b.物品 then
				local 资源=引擎.取物品(b.物品)
				self.物品[a]=tp.资源:载入(资源[11],"网易WDF动画",资源[12])
			else
				self.物品[a]=tp.资源:载入(b.图标[1],"网易WDF动画",b.图标[2])
			end
			if k=="七日签到" then
				self.签到按钮[a]=按钮.创建(自适应.创建(12,4,60,22,1,3),0,0,4,true,true,"签到")
				self.签到按钮[a]:绑定窗口_(self.ID)
				self.签到按钮[a]:置偏移(5,0)
			end
		end
	end
end

function 成就系统:刷新数据(内容)
	self.wancheng=内容.完成
end
function 成就系统:加载资源()
	local 资源 = tp.资源
	local 按钮 = tp._按钮
	local 自适应 = tp._自适应
	self.资源组 = {
		[1] = 自适应.创建(0,1,497+60,440+30,3,9),
		[2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),--关闭
		[3] = 自适应.创建(34,1,406,410,3,9),
		[4] =资源:载入('pic/bd/sqzbbj.png',"图片"),
		[5] =资源:载入('pic/556.png',"图片"),
		-- [6] =  tp._滑块.创建(自适应.创建(11,4,15,40,2,3,nil),1,14,180,2),
		-- [7] = 按钮.创建(自适应.创建(17,4,72,22,1,3),0,0,4,true,true,"七日签到"),
		[9] = 资源:载入('wzife.wd1',"网易WDF动画",3277082000),
	}
	 self.新区动画=资源:载入('wzife.wdf',"网易WDF动画",0x5286B0B5)
	self.资源组[2]:绑定窗口_(self.ID)
	-- self.资源组[7]:绑定窗口_(self.ID)
	self.资源组[3]:置颜色(ARGB(235,235,255,255))
	self.偏移x,self.偏移y = 等比例缩放公式(128,373+30+8,self.资源组[4].宽度,self.资源组[4].高度)
end

function 成就系统:打开(内容,状态)
	if self.可视 then
		self.可视 = false
		return
	else
		insert(tp.窗口_,self)
		if not self.资源组 then
			self:加载资源()
		end
		self.chengjiu=内容.成就
		self.wancheng=内容.完成
		self:加载按钮()
		-- self.资源组[6]:置起始点(0)
		if 状态 then
			self.状态=状态
		end
		self.加入=0
		tp.运行时间 = tp.运行时间 + 1
		self.窗口时间 = tp.运行时间
		self.可视 = true
	end
end

function 成就系统:显示(dt,x,y)
	self.焦点 = false
	self.资源组[1]:显示(self.x,self.y)
	self.资源组[2]:更新(x,y)
	tp.窗口标题背景_:显示(self.x-86+self.资源组[1].宽度/2,self.y)
	引擎.场景.字体表.标题字体:显示(self.x+self.资源组[1].宽度/2,self.y+3,"功成名就")
	self.资源组[2]:显示(self.x-18+self.资源组[1].宽度,self.y+3)

	self.资源组[4]:显示(self.x+9,self.y+38,self.偏移x,self.偏移y)
	self.资源组[3]:显示(self.x+134,self.y+38)
	-- self.资源组[7]:更新(x,y)
	-- self.资源组[7]:显示(self.x+20+14,self.y+425)
	if self.资源组[2]:事件判断() then
		self:打开()
		return
	-- elseif self.资源组[7]:事件判断() then
	-- 	JGESDK:发送(6305)
	end
		    --do
	-- for i=1,#self.成就按钮 do
	-- 	self.成就按钮[i]:更新(x,y)
	-- 	self.成就按钮[i]:显示(self.x+20,self.y+i*45,nil,nil,nil,self.状态 == i,2)
	-- 	if self.成就按钮[i]:事件判断() then
	-- 		self.状态=i
	-- 	end
	-- end
	local aa=0
	for k,v in pairs(self.成就按钮) do
		aa=aa+1
		self.成就按钮[k]:更新(x,y)
		self.成就按钮[k]:显示(self.x+20,self.y+aa*45,nil,nil,nil,self.状态 == k,2)
		if self.成就按钮[k]:事件判断() then
			-- self.资源组[6]:置起始点(0)
			self.加入=0
			self.状态=k
		end
	end
	local bbsa = #self.lijkg[self.状态]
	-- if bbsa > 5 then
	-- 	self.资源组[6]:置高度(math.min(math.floor(404/(bbsa-5)),180))
	-- 	self.加入 =math.min(math.ceil((bbsa-5)*self.资源组[6]:取百分比()),bbsa-5)
	-- end
	if self.资源组[1]:是否选中(x,y)and 引擎.取鼠标滚轮() ==1 and self.加入 > 0 then--鼠标上滚动
		-- self.资源组[6]:置起始点(self.资源组[6]:取百分比转换(self.加入-1,5,bbsa))
		self.加入=self.加入-1
	elseif self.资源组[1]:是否选中(x,y) and 引擎.取鼠标滚轮() ==-1 and self.加入 < bbsa - 5 then--鼠标下滚动
		-- self.资源组[6]:置起始点(self.资源组[6]:取百分比转换(self.加入+1,5,bbsa))
		self.加入=self.加入+1
	end
	self.新区动画:更新(dt)
	-- self.资源组[6]:显示(self.x+528,self.y+38,x,y,self.鼠标)
	for i=1,5 do
		if self.lijkg[self.状态][i+self.加入] then
			-- print(i+self.加入)
			self.资源组[5]:显示(self.x+142,self.y+38+10+(i-1)*80)
			if self.物品[self.lijkg[self.状态][i+self.加入].名称] then
				self.物品[self.lijkg[self.状态][i+self.加入].名称]:显示(self.x+142+10,self.y+38+10+12+(i-1)*80)
				if self.物品[self.lijkg[self.状态][i+self.加入].名称]:是否选中(x,y)  then
					tp.物品格子焦点_:显示(self.x+142+12,self.y+38+10+13+(i-1)*80)
				end
			end
			zts1:置颜色(白色)
			zts1:显示(self.x+142+79+60,self.y+38+13+4+(i-1)*80,self.lijkg[self.状态][i+self.加入].名称)
			zts2:置颜色(0xFF222222)


			if self.状态~="七日签到" then
				zts2:显示(self.x+224,self.y+89+9+(i-1)*80,"仙玉：")
				zts2:显示(self.x+427,self.y+89+9+(i-1)*80,"剩余名额：")
				zts2:显示(self.x+308,self.y+89+9+(i-1)*80,"储备：")
			else
				if self.lijkg[self.状态][i+self.加入].银子~=0 then
					zts2:显示(self.x+224,self.y+89+9+(i-1)*80,"银子：")
				end
				zts2:显示(self.x+308+8,self.y+89+9+(i-1)*80,"储备：")
			end

			zts2:置颜色(0xff009933)
			if self.状态~="七日签到" then
				zts2:显示(self.x+208+16+37,self.y+89+9+(i-1)*80,self.lijkg[self.状态][i+self.加入].仙玉)
				zts2:显示(self.x+211+16+200+64,self.y+89+9+(i-1)*80,self.lijkg[self.状态][i+self.加入].总名额)
				zts2:显示(self.x+211+16+100-19+36,self.y+89+9+(i-1)*80,self.lijkg[self.状态][i+self.加入].储备金)
			else
				if self.lijkg[self.状态][i+self.加入].银子~=0 then
					zts2:显示(self.x+208+16+37,self.y+89+9+(i-1)*80,self.lijkg[self.状态][i+self.加入].银子)
				end
				zts2:显示(self.x+211+16+100-19+36+8,self.y+89+9+(i-1)*80,self.lijkg[self.状态][i+self.加入].储备金)
			end
			zts2:置颜色(黄色)
			local 是否完成=false
			local  完成 = self.lijkg[self.状态][i+self.加入].总进度
			if self.wancheng[self.状态][self.lijkg[self.状态][i+self.加入].名称] then
				完成=self.wancheng[self.状态][self.lijkg[self.状态][i+self.加入].名称]
			else
				是否完成=true
			end
			if 完成>=self.lijkg[self.状态][i+self.加入].总进度 then
			    完成=self.lijkg[self.状态][i+self.加入].总进度
			end
			local wad=完成.."/"..self.lijkg[self.状态][i+self.加入].总进度
			zts2:显示(self.x+411+(42-zts2:取宽度(wad)/2),self.y+38+13+4+(i-1)*80,wad)
			if 是否完成 then
				self.资源组[9]:显示(self.x+142+220,self.y+38+3+10+(i-1)*80)
			else
				if self.状态=="七日签到" then
					self.签到按钮[self.lijkg[self.状态][i+self.加入].名称]:更新(x,y)
					self.签到按钮[self.lijkg[self.状态][i+self.加入].名称]:显示(self.x+142+70+60+150,self.y+38+13+5+37+(i-1)*80)
					self.新区动画:显示(self.x+142+220+90,self.y+38+3-17+80+10+(i-1)*80)
					if self.签到按钮[self.lijkg[self.状态][i+self.加入].名称]:事件判断() then
						JGESDK:发送(6309,{self.lijkg[self.状态][i+self.加入].名称})
					end
				end
			end
		end
	end
end





function 成就系统:检查点(x,y)
	if self.资源组 ~= nil and self.资源组[1]:是否选中(x,y) then
		return true
	end
end

function 成就系统:初始移动(x,y)
	tp.运行时间 = tp.运行时间 + 1
	if not tp.消息栏焦点 then
		self.窗口时间 = tp.运行时间
	end
	if not self.焦点 then
		tp.移动窗口 = true
	end
	if self.鼠标 and  not self.焦点 then
		self.xx = x - self.x
		self.yy = y - self.y
	end
end

function 成就系统:开始移动(x,y)
	if self.鼠标 then
		self.x = x - self.xx
		self.y = y - self.yy
	end
end

return 成就系统